<?php

class DoctorModel extends CI_Model{

    function __construct()
    {
        parent::__construct();
    }
    
    function getDoctors()
    {        
        $this->db->select('persona.ID_PERSONA, persona.nombres, persona.apellido_paterno, persona.apellido_materno, doctor.cmp, especialidad.nombre_especialidad, empleado_centro_salud.activo');
        $this->db->from('persona, empleado, doctor, doctor_especialidad, especialidad, empleado_centro_salud');
        $this->db->where('doctor.ID_DOCTOR = persona.ID_PERSONA');
        $this->db->where('empleado.ID_EMPLEADO = persona.ID_PERSONA');
        $this->db->where('doctor_especialidad.ID_DOCTOR = doctor.ID_DOCTOR');
        $this->db->where('doctor_especialidad.ID_ESPECIALIDAD = especialidad.ID_ESPECIALIDAD');
        $this->db->where('empleado_centro_salud.ID_EMPLEADO = doctor.ID_DOCTOR');
        $this->db->where('empleado_centro_salud.ID_CENTRO_SALUD', CENTRO_SALUD);
        $this->db->order_by('persona.apellido_paterno, persona.apellido_materno, persona.nombres, especialidad.nombre_especialidad');
        $query = $this->db->get();
        return $query->result();  
    }
    
    function getDoctorInfo($names, $lastName1, $lastName2, $specialty, $cmp){
        $this->db->select('persona.ID_PERSONA, persona.nombres, persona.apellido_paterno, persona.apellido_materno, doctor.cmp, especialidad.nombre_especialidad, empleado_centro_salud.activo');
        $this->db->from('persona, doctor, doctor_especialidad, especialidad, empleado_centro_salud');
        $this->db->where('doctor.ID_DOCTOR = persona.ID_PERSONA');
        $this->db->where('doctor_especialidad.ID_DOCTOR = doctor.ID_DOCTOR');
        $this->db->where('doctor_especialidad.ID_ESPECIALIDAD = especialidad.ID_ESPECIALIDAD');
        $this->db->where('empleado_centro_salud.ID_EMPLEADO = doctor.ID_DOCTOR');
        
        if($names != null || $lastName1 != null || $lastName2 != null || $cmp != null || $specialty != null){
            $stringSearch = "(";
            if($names != null){ 
                $stringSearch = $stringSearch."persona.nombres LIKE '%".$names."%'"; 
                if($lastName1 != null || $lastName2 != null || $cmp != null || $specialty != null){
                    $stringSearch = $stringSearch.' OR ';
                }
            }
            if($lastName1 != null){ 
                $stringSearch = $stringSearch."persona.apellido_paterno LIKE '%".$lastName1."%'"; 
                if($lastName2 != null || $cmp != null || $specialty != null){
                    $stringSearch = $stringSearch.' OR ';
                }
            }
            if($lastName2 != null){ 
                $stringSearch = $stringSearch."persona.apellido_materno LIKE '%".$lastName2."%'"; 
                if($cmp != null || $specialty != null){
                    $stringSearch = $stringSearch.' OR ';
                }
            }
            if($cmp != null){ 
                $stringSearch = $stringSearch."doctor.cmp LIKE '%".$cmp."%'"; 
                if($specialty != null){
                    $stringSearch = $stringSearch.' OR ';
                }
            }
            if($specialty != null){ 
                $stringSearch = $stringSearch."especialidad.ID_ESPECIALIDAD = ".$specialty; 
                
            }
            $stringSearch = $stringSearch.")";
            $this->db->where($stringSearch);
        }

        $this->db->where('empleado_centro_salud.ID_CENTRO_SALUD', CENTRO_SALUD);
        $this->db->order_by('persona.apellido_paterno, persona.apellido_materno, persona.nombres, especialidad.nombre_especialidad');
        $query = $this->db->get();
        return $query->result(); 
    }
    
    function getDoctorInfoById($id){
        $this->db->select('persona.ID_PERSONA, persona.nombres, persona.apellido_paterno, persona.apellido_materno, persona.genero, persona.fecha_nacimiento, persona.telefono, persona.celular, persona.correo, empleado.ruc, doctor.cmp');
        $this->db->from('persona, empleado, doctor, empleado_centro_salud');
        $this->db->where('doctor.ID_DOCTOR = persona.ID_PERSONA');
        $this->db->where('empleado.ID_EMPLEADO = persona.ID_PERSONA');
        $this->db->where('empleado_centro_salud.ID_EMPLEADO = doctor.ID_DOCTOR');
        $this->db->where('empleado_centro_salud.activo = 1');
        $this->db->where('persona.ID_PERSONA', $id);
        $this->db->where('empleado_centro_salud.ID_CENTRO_SALUD', CENTRO_SALUD);
        $query = $this->db->get();
        return $query->result(); 
    }
    
    function getDoctorArrayByID($dni){
        $this->db->select("persona.ID_PERSONA, persona.nombres, persona.apellido_paterno, persona.apellido_materno, persona.genero, persona.fecha_nacimiento, persona.telefono, persona.celular, persona.correo, persona.direccion, doctor.cmp, especialidad.nombre_especialidad, empleado_centro_salud.ID_CENTRO_SALUD");
        $this->db->from("persona, doctor, doctor_especialidad, especialidad, empleado_centro_salud");
        $this->db->where("persona.ID_PERSONA = doctor.ID_DOCTOR");
        $this->db->where("especialidad.ID_ESPECIALIDAD = doctor_especialidad.ID_ESPECIALIDAD");
        $this->db->where("doctor.ID_DOCTOR = doctor_especialidad.ID_DOCTOR");
        $this->db->where("empleado_centro_salud.ID_EMPLEADO = '$dni'");
        $this->db->where("doctor_especialidad.ID_DOCTOR = '$dni'");
        $query = $this->db->get();
        return $query->row_array();
    }
    
    function getDoctorByDNI($dni){
        $this->db->select("persona.ID_PERSONA, persona.nombres, persona.apellido_paterno, persona.apellido_materno, persona.genero, persona.fecha_nacimiento, persona.telefono, persona.celular, persona.correo, persona.direccion, doctor.cmp, especialidad.nombre_especialidad, empleado_centro_salud.ID_CENTRO_SALUD");
        $this->db->from("persona, doctor, doctor_especialidad, especialidad, empleado_centro_salud");
        $this->db->where("persona.ID_PERSONA = doctor.ID_DOCTOR");
        $this->db->where("especialidad.ID_ESPECIALIDAD = doctor_especialidad.ID_ESPECIALIDAD");
        $this->db->where("doctor.ID_DOCTOR = doctor_especialidad.ID_DOCTOR");
        $this->db->where("empleado_centro_salud.ID_EMPLEADO = '$dni'");
        $this->db->where("doctor_especialidad.ID_DOCTOR = '$dni'");
        $query = $this->db->get();
        return $query->result();
    }
    
    function getQuantityRatedDoctors(){
                
        $this->db->select("doctor.ID_DOCTOR");
        $this->db->from("cita, horario, doctor");
        $this->db->where("cita.ID_HORARIO = horario.ID_HORARIO");
        $this->db->where("horario.ID_DOCTOR = doctor.ID_DOCTOR");
        $this->db->where("cita.calificacion IS NOT NULL");
        $this->db->group_by("doctor.ID_DOCTOR");
        $query = $this->db->get();
        return $query->result();
        
    }
    
    function getRatedDoctor($doctorId){
        $this->db->select("cita.calificacion");
        $this->db->from("cita, horario, doctor");
        $this->db->where("cita.ID_HORARIO = horario.ID_HORARIO");
        $this->db->where("horario.ID_DOCTOR = doctor.ID_DOCTOR");
        $this->db->where("cita.calificacion IS NOT NULL");
        $this->db->where("doctor.ID_DOCTOR = '$doctorId'");
        $query = $this->db->get();
        return $query->result();
    }
    
     
    function registrarDoctor($data)
    {
        $this->db->insert('doctor', $data);
    }
    

    function insert_entry() 
    {/*
        $this->title   = $_POST['title']; // please read the below note
        $this->content = $_POST['content'];
        $this->date    = time();
        
     * $this->db->insert('entries', $this); */
    }

    function update_entry()
    {/*
        $this->title   = $_POST['title'];
        $this->content = $_POST['content'];
        $this->date    = time();

        $this->db->update('entries', $this, array('id' => $_POST['id'])); */
    }
    
    
    
}

?>